
#ifndef QR_LIST_H
#define QR_LIST_H

#include "qr-const.h"
#include "qr-element.h"
#include "bit-stream.h"

C_BEGIN_DECLS

typedef struct
{
	int _version;
	ECLevel _ec_level;
	QRElement* _head;
	QRElement* _tail;
	BitStream* _encoded;
} QRList;

QRList* qr_list_new(int version, ECLevel ec_level);
void qr_list_destroy(QRList* qr_list);
int qr_list_append(QRList* qr_list, QRElement* qr_element);
unsigned char* qr_list_encode(QRList* qr_list);

C_END_DECLS

#endif	// QR_LIST_H

